package com.aiju.cash.util;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.widget.ImageView;

import com.aiju.cash.R;
import com.aiju.utils.Util;
import com.bumptech.glide.Glide;
import com.yuyh.library.imgsel.ImageLoader;
import com.yuyh.library.imgsel.ImgSelActivity;
import com.yuyh.library.imgsel.ImgSelConfig;

/**
 * @author: 佐为
 * @date: 2017-05-26 10:28
 * @version: V1.0
 * @Description: 图片选择
 */
public class ImageSelectorHelper {
    // 自定义图片加载器
    private ImageLoader loader = new ImageLoader() {
        @Override
        public void displayImage(Context context, String path, ImageView imageView) {
            // TODO 在这边可以自定义图片加载库来加载ImageView，例如Glide、Picasso、ImageLoader等
            Glide.with(context).load(path).into(imageView);
        }
    };

    /**
     * 默认配置
     *
     * @param activity
     * @return
     */
    private ImgSelConfig.Builder getBaseConfig(Activity activity) {
        return new ImgSelConfig.Builder(activity, loader)
                // “确定”按钮背景色
                .btnBgColor(Util.getColor(R.color.app_title_color))
                // “确定”按钮文字颜色
                .btnTextColor(Color.WHITE)
                // 使用沉浸式状态栏
                .statusBarColor(Util.getColor(R.color.app_title_color))
                // 返回图标ResId
                .backResId(R.mipmap.btn_back)
                // 标题
                .title("图片")
                // 标题文字颜色
                .titleColor(Color.WHITE)
                // TitleBar背景色
                .titleBgColor(Util.getColor(R.color.app_title_color))
                // 第一个是否显示相机，默认true
                .needCamera(false)
                // 最大选择图片数量，默认9
                .maxNum(9)
                // 是否多选, 默认true
                .multiSelect(false)
                // 是否记住上次选中记录, 仅当multiSelect为true的时候配置，默认为true
                .rememberSelected(false)
                // 裁剪大小。needCrop为true的时候配置
                .needCrop(false)
                .cropSize(1, 1, 200, 200);
    }

    /**
     * 门店Logo
     *
     * @param activity
     * @param code
     */
    public void openLogoImageSelector(Activity activity, int code) {
        // 自由配置选项
        ImgSelConfig config = getBaseConfig(activity).build();
        // 跳转到图片选择器
        ImgSelActivity.startActivity(activity, config, code);
    }

    /**
     * 选择多张
     *
     * @param activity
     * @param
     */
    public void openMultiImageSelector(Activity activity, int sum, int code) {
        // 自由配置选项
        ImgSelConfig config = getBaseConfig(activity)
                // 最大选择图片数量，默认9
                .maxNum(sum)
                // 是否多选, 默认true
                .multiSelect(true)
                // 是否记住上次选中记录, 仅当multiSelect为true的时候配置，默认为true
                .rememberSelected(true)
                .build();
        // 跳转到图片选择器
        ImgSelActivity.startActivity(activity, config, code);
    }
}
